package com.itheima.common;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * springmvc提供了全局异常处理机制，需要使用的注解
 *
 */
@ControllerAdvice(annotations ={ControllerAdvice.class, RestController.class})// 表示该类是一个异常处理类
@ResponseBody //该类返回的数据全部都会转换为json字符串
@Slf4j
public class GlobalExceptionHandler {
    //@ExceptionHandler(value = Exception.class)  代表了该方法会处理所有的异常， 只要controller那边出现了异常都会给方法方法处理
        @ExceptionHandler(value = Exception.class)
    public R<String> handlerException(Exception e){
        log.info("======异常处理======");
        e.printStackTrace();
        return R.error("服务器异常："+e.getMessage());
    }
}
